const SpriteLoaderPlugin = require('svg-sprite-loader/plugin');
const path = require('path')
module.exports = {
    publicPath: '',
    outputDir: 'dist',
    configureWebpack: {
        plugins: [
            new SpriteLoaderPlugin()
        ],
        entry: {
            app: path.resolve(__dirname, './src/main.js')
        },
    },
    devServer: {
        port: 8080,
        proxy: {
            '/api': {
                target: 'http://localhost:3000',
                ws: true,
                changeOrigin: true,
                pathRewrite: {
                    
                }
            }
        }
    },
    chainWebpack: config => {
        const svgRule = config.module.rule('svg')
    
        // 清除已有的所有 loader。
        // 如果你不这样做，接下来的 loader 会附加在该规则现有的 loader 之后。
        svgRule.uses.clear()
    
        // 添加要替换的 loader
        svgRule
        .use('svg-sprite-loader')
        .loader('svg-sprite-loader').options({
            symbolId: 'icon-[name]',
            extract: true,
            publicPath: './img/',
            spriteFilename: `sprite.${new Date().getTime()}.svg`
        })

        config.module.rule('less').oneOf('vue').use('style-resources-loader').loader('style-resources-loader').options({
            patterns: [
                path.resolve(__dirname, './src/style/atom.less')
            ],
            injector: 'append'
        })
        
    }
}